package org.sang;

import java.util.List;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.security.web.SecurityFilterChain;

@SpringBootApplication
@MapperScan("org.sang.mapper")
@EnableCaching
public class HrserverApplication {

	public static void main(String[] args) {
		SpringApplication.run(HrserverApplication.class, args);
	}
}
//spring security 核心对象  
//SecurityContextHolder  SecurityContext  Authentication
//通常使用  UsernamePasswordAuthenticationToken  
//UserDetails   
//AuthenticationManager  处理认证请求  authenticate()方法主要做三件事：
//如果验证通过，返回Authentication（通常带上authenticated=true）。
//认证失败抛出AuthenticationException
//如果无法确定，则返回null
//AbstractUserDetailsAuthenticationProvider
//AuthenticationManagerBuilder  快速自定义  
//AccessDecisionVoter  授权管理 voter 选举人
//AffirmativeBased   affirmative 肯定的，积极的
//FilterChainProxy   相当于一个filter容器
//HttpSession 
//springSecurityFilterChain
//DelegatingFilterProxyRegistrationBean
//DelegatingFilterProxy 里面有  FilterChainProxy 对象 ，FilterChainProxy 里面有   private List<SecurityFilterChain> filterChains;
//FilterChainProxy
//SecurityFilterAutoConfiguration   
//Driver String
//LogoutFilter
//io.lettuce.core.RedisCommandExecutionException
//SessionRepositoryFilter









